package controller;

import model.Computador;
import model.Manutencao;
import dao.ComputadorDAO;
import dao.ManutencaoDAO;

public class ManutencaoController {

	private ManutencaoDAO manutencaoDAO;
	private ComputadorDAO computadorDAO;

	public boolean inserirManutencao(int idComputador, String descricaoDefeito,
			String descricaoSolucao, double custo, String data) throws Exception {

		Computador computador = getComputadorDAO().buscarComputadorPorId(idComputador);
		Manutencao manutencao = new Manutencao(computador, descricaoDefeito, descricaoSolucao, custo, data);
		return getManutencaoDAO().inserir(manutencao);
	}

	public boolean alterarManutencao(int id, int idComputador, String descricaoDefeito,
			String descricaoSolucao, double custo, String data) throws Exception {
		Computador computador = getComputadorDAO().buscarComputadorPorId(idComputador);
		Manutencao manutencao = buscarManutencaoPorId(id);
		
		manutencao.setComputador(computador);
		manutencao.setDescricaoDefeito(descricaoDefeito);
		manutencao.setDescricaoSolucao(descricaoSolucao);
		manutencao.setCusto(custo);
		manutencao.setData(data);

		return getManutencaoDAO().alterar(manutencao);
	}

	public boolean excluirManutencao(int id) throws Exception {
		Manutencao manutencao = buscarManutencaoPorId(id);
		return getManutencaoDAO().delete(manutencao);
	}

	public Manutencao buscarManutencaoPorId(int id) throws Exception {
		return getManutencaoDAO().buscarManutencaoPorId(id);
	}
	public ManutencaoDAO getManutencaoDAO() {
		if (manutencaoDAO == null) {
			manutencaoDAO = new ManutencaoDAO();
		}
		return manutencaoDAO;
	}
	public ComputadorDAO getComputadorDAO() {
		if (computadorDAO == null){
			computadorDAO = new ComputadorDAO();
		}
		return computadorDAO;
	}
}